package com.prueba.client.datos;

import com.smartgwt.client.data.DataSource;
import com.smartgwt.client.data.fields.DataSourceTextField;
import com.smartgwt.client.widgets.form.validator.IntegerRangeValidator;

public class EstadoDelDocumentoData extends DataSource {  
  
    private static EstadoDelDocumentoData instance = null;  
  
    public static void  clearInscance(){
    	instance = null;
    }
    
    public static EstadoDelDocumentoData getInstance() {  
        if (instance == null) {  
            instance = new EstadoDelDocumentoData();  
        }  
        return instance;  
    }  
    
   
    
    public EstadoDelDocumentoData() {  
  
    	
    	
        setID("EstadoDelDocumento");  //para marcar foreing key desde otros datasource
        setTitleField("Secciones"); 
        
    	
        //Campo Seccion:
        DataSourceTextField seccionNombre=new DataSourceTextField("seccion", "Seccion");
    	seccionNombre.setPrimaryKey(true);  
    	seccionNombre.setRequired(true);  
    	
    	
    	//Campo estado:
    	DataSourceTextField seccionEstado = new DataSourceTextField("estado", "Estado");
    	seccionEstado.setValueMap("N/A","TO DO","DOING","DONE");
    	seccionEstado.setRequired(true);

    	
    	
    	//Campo nivel de detalle:
    	DataSourceTextField seccionNivelDeDetalle = new DataSourceTextField("niveldedetalle", "Nivel de detalle");
    	seccionNivelDeDetalle.setValueMap("nothing","overview","some detail","detailed");
    	seccionNivelDeDetalle.setRequired(true);
    	
    	//Campo costo:
    	DataSourceTextField seccionCosto = new DataSourceTextField("costo", "Costo");
    	IntegerRangeValidator restriccionCosto=new IntegerRangeValidator();
    	restriccionCosto.setMax(Integer.MAX_VALUE);
    	restriccionCosto.setMin(0);
    	seccionCosto.setValidators(restriccionCosto);
    	
    	//Campo Nivel de la seccion:
    	DataSourceTextField nivel = new DataSourceTextField("nivel","Nivel");
    	
    	//campo seccion padre:
        DataSourceTextField seccionPadre = new DataSourceTextField("padre", "Seccion padre");  
        seccionPadre.setRequired(true);  
        seccionPadre.setForeignKey("EstadoDelDocumento.seccion");  
        seccionPadre.setRootValue("Documento");     	
    	
        setFields(seccionNombre,seccionEstado,seccionNivelDeDetalle,seccionCosto,nivel,seccionPadre);  

        setClientOnly(true);  
    }  	
}  